/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package socafeclient;

import entity.Productos;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author FRANCO
 */
public class TableModelElegirProductos extends AbstractTableModel {

    private ArrayList datalist = new ArrayList();
    private String[] columns = {"Nombre de Producto", "Precio"};
    public List listaDeProductos;
    Productos elementoProductos;

    @Override
    public int getRowCount() {
        return datalist.size();
    }

    @Override
    public int getColumnCount() {
        return columns.length;
    }

    @Override
    public Object getValueAt(int row, int col) {
        Productos c = (Productos) datalist.get(row);
        switch (col) {
            case 0: //Nombre de Producto
                return c.getNombre();
            case 1: //Preccio
                return c.getPrecio();
            case 2: //idProducto
                return c.getIdproducto();
            default:
                return false;
        }

    }

    public Productos getCatalogoDeProductos(int row) {
        return (Productos) datalist.get(row);
    }

    public Productos removeProdutosPedidosAt(int row) {
        return (Productos) datalist.remove(row);
    }

    public void addCatalogoDeProductos(int tipoProducto) {
        listaDeProductos = Main.productosFacade.findAll();
                
        datalist.clear();

        for (Iterator it = listaDeProductos.iterator(); it.hasNext();) {
            elementoProductos = (Productos) it.next();
            if (elementoProductos.getIdtipoprod().getIdtipoprod().intValue() == tipoProducto) {

                datalist.add(elementoProductos);
            }
        }
        fireTableDataChanged();

    }
    // public void addComandaproductoCollection(Comanda comanda) {

    //Collection <Comandaproducto> ccp = comanda.getComandaproductoCollection();
    //for (Iterator it = ccp.iterator(); it.hasNext();) {
    //  Comandaproducto rowComandaProducto = (Comandaproducto) it.next();
    // datalist.add(rowComandaProducto);
    // }
    //fireTableDataChanged();
    //}
    public TableModelElegirProductos(int tipoProducto) {
        listaDeProductos = Main.comandaproductoFacade.findAll();
        datalist.clear();

        for (Iterator it = listaDeProductos.iterator(); it.hasNext();) {
            elementoProductos = (Productos) it.next();
            if (elementoProductos.getIdtipoprod().getIdtipoprod().intValue() == tipoProducto) {

                datalist.add(elementoProductos);
            }
        }
        fireTableDataChanged();


    }

    public TableModelElegirProductos() {
        datalist.clear();
    }

    

    @Override
    public String getColumnName(int i) {
        return columns[i];
    }

    @Override
    public boolean isCellEditable(int row, int col) {
        switch (col) {
            case 0: //Nombre de Producto
                return false;
            case 1: //Precio
                return false;
            default:
                return false;
        }
    }

    @Override
    public Class getColumnClass(int col) {
        switch (col) {
            case 0: //Nombre de Producto
                return String.class;
            case 1: //Precio
                return Double.class;            
            default:
                return null;
        }
    }
}
